﻿/*----------------------------------------------------------------------------------------
*
*  Copyright 2019, Gao Hai Hui, <fromzeropoint@126.com>.  All rights reserved.
*  https://gitee.com/helloworldghh/xoskit.git
*  Use of this source code is governed by a MIT license
*  that can be found in the License file.
*
----------------------------------------------------------------------------------------*/
#ifndef __XOSKIT_XOS_CORE_XOS_STL_SRC_PROTOCOL_DB_DB_GET_H__
#define __XOSKIT_XOS_CORE_XOS_STL_SRC_PROTOCOL_DB_DB_GET_H__

#include "../public/public_list.h"

namespace xos_protocol
{

    template< class T, class PACKER >
	class db_get : public public_list< T, PACKER >
	{
	public:
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // 
		typedef public_list< T, PACKER > BASE;
	public:
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // 
		db_get( xos_box::i_serial * pSerial, xos_box::i_buf * pBuf ) : 
			BASE( pSerial, pBuf )
		{
		}
		~db_get()
		{
		} 
	public:
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // 
        int req_compose( int nCookie, int nCmd )
        {
            int ret = 0;
            if( 0 == ret )
            {
                ret = BASE::req_compose( nCookie, nCmd );
            }
            return ret;
        }
		int req_dis_compose()
		{
			int ret = 0;
            if( 0 == ret )
            {
                ret = BASE::req_dis_compose();
            }
			return ret;
		}
        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        // 
        int res_compose( int nCookie, int nCmd, int nRet )
        {
            int ret = 0;
            if( 0 == ret )
            {
                ret = BASE::res_compose( nCookie, nCmd, nRet );
            }
            return ret;
        }
        int res_dis_compose( int & nRet, typename T::LIST * pList )
        {
            int ret = 0;
            if( 0 == ret )
            {
                ret = BASE::res_dis_compose( nRet, pList );
            }
            return ret;
        }
	};

}

#endif // __XOSKIT_XOS_CORE_XOS_STL_SRC_PROTOCOL_DB_DB_GET_H__
